home *** CD-ROM | disk | FTP | other *** search
- /* file: pflush.c -- flush the buffered printer's buffer */
- #include <stdio.h>
- main()
- {
- struct {unsigned ax,bx,cx,dx,si,di,ds,es;} rrv;
- char *flush_cmd = "\x1b\xff";
-
- rrv.ax = 0x4400;
- rrv.bx = 4; /* stdprn */
- sysint21(&rrv, &rrv);
- if ((rrv.dx & 0x4000) == 0)
- {
- fputs("Device doesn't handle IOCTL\n", stderr);
- exit(1);
- }
- rrv.ax = 0x4403; /* write ioctl information */
- rrv.bx = 4; /* stdprn */
- rrv.dx = flush_cmd;
- segread(&rrv.si); /* set up DS */
- rrv.cx = 2; /* just two bytes */
- if (sysint21(&rrv, &rrv)&1)
- {
- fputs("Flush call failed\n", stderr);
- exit(1);
- }
- puts("Buffer flushed");
- }